package com.wing.product.model.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.wing.mybatis.common.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper=true)
public class ShipmentProductInventoryVO extends BaseEntity<ShipmentProductInventoryVO> {

    @TableField(value = "warehouse_product_id")
    @Schema(description="产品id 取 warehouse_product表")
    private Long warehouseProductId;

    @TableField(value = "warehouse_type_id")
    @Schema(description="仓库类型ID")
    private Long warehouseTypeId;

    @TableField(value = "warehouse_id")
    @Schema(description="仓库ID")
    private Long warehouseId;

    @TableField(value = "warehouse_area_id")
    @Schema(description="仓库库区ID")
    private Long warehouseAreaId;

    @TableField(value = "warehouse_shelf_id")
    @Schema(description="库区货架ID")
    private Long warehouseShelfId;

    @TableField(value = "warehouse_shelf_space_id")
    @Schema(description="库位ID")
    private Long warehouseShelfSpaceId;

    @TableField(value = "pallet_box_id")
    @Schema(description="料箱ID")
    private Long palletBoxId;

    @TableField(value = "product_status")
    @Schema(description="商品状态 1、发货 2、签收 3、入库 4、出库")
    private Integer productStatus;

    @TableField(value = "customer_id")
    @Schema(description="客户编号（货物归属者）先用warehouse_customer，后用sel_customers_info表")
    private Long customerId;

    @TableField(value = "price")
    @Schema(description="价格  每天多少钱，取当时的托管价格")
    private Double price;

    @TableField(value = "warehouse_shipment_order_id")
    @Schema(description="发货单号")
    private Long warehouseShipmentOrderId;

    @TableField(value = "user_bundle_code")
    @Schema(description="用户捆包号")
    private String userBundleCode;

    @TableField(value = "sys_bundle_code")
    @Schema(description="系统捆包号 实际就是code 需要唯一")
    private String sysBundleCode;

    private Long warehouseSignOrderId;
    private Long warehouseStorageOrderId;

    private Long warehouseShipmentOrderDetailId;
    private Long warehouseSignOrderDetailId;
    private Long warehouseStorageOrderDetailId;

    private Double netWeight;
    private Double grossWeight;

    @TableField(value = "is_sign")
    @Schema(description="0未签收1已签收")
    private Integer isSign;
}
